<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
         //柯里化思想
        //请实现以下效果
        function add (a, b, c) {
            return a + b + c
        }
        // console.log(add.length);

        const res = add(1, 2, 3) //6
     //柯里函数实质：传递给函数一部分参数来调用它，让它返回一个函数来处理剩余参数
    function curry(func) {
      return function curried(...args) {
        if (args.length >= func.length) {
            return func.apply(this,args);
        }else{
            return function(...args2) {
                return curried.apply(this,args.concat(args2));
            }
        }
      };
    }
     let addCurry = curry(add)
        // console.log(addCurry);
        const res2 = addCurry(1)(2)(3)//6
        console.log(res2);
    </script>
</body>
</html>